package com.ctcemti.mdm.project.sys.service;

import com.ctcemti.mdm.project.sys.entity.InfDictSort;
import com.ctcemti.mdm.project.sys.entity.formdata.BaseReq;
import com.github.pagehelper.PageInfo;

import java.util.List;

/**
 * @ClassName InfDictSortMapper
 * @Description 数据字典字典分类表逻辑层接口层
 * @Author bxf
 * @Date 11:18 2019/7/12
 * @Version V1.0
 **/

public interface InfDictSortService {
    /**
     * @Author bxf
     * @Description 根据主键删除
     * @Date 11:38 2019/7/12
     * @Param
     * @return
     **/
    int deleteByPrimaryKey(Integer id);
    /**
     * @Author bxf
     * @Description 插入数据字典字典分类表
     * @Date 11:39 2019/7/12
     * @Param
     * @return
     **/
    int insert(InfDictSort record);

    /**
     * @Author bxf
     * @Description 选择性字段插入
     * @Date 11:39 2019/7/12
     * @Param
     * @return
     **/
    int insertSelective(InfDictSort record);
    /**
     * @Author bxf
     * @Description 根据主键获取
     * @Date 11:40 2019/7/12
     * @Param
     * @return
     **/
    InfDictSort selectByPrimaryKey(Integer id);
    /**
     * @Author bxf
     * @Description
     * @Date 11:41 2019/7/12
     * @Param 根据主键选择性字段更新对象
     * @return
     **/
    int updateByIdSelective(InfDictSort InfDictSort);
    /**
     * @Author bxf
     * @Description
     * @Date 11:47 2019/7/12
     * @Param 根据主键更新对象
     * @return
     **/
    int updateByPrimaryKey(InfDictSort record);

    /**
     * @Author bxf
     * @Description 获取所有数据字典字典分类表子目
     * @Date 10:55 2019/7/15
     * @Param
     * @return
     **/
    public List<InfDictSort> selectAllInfdictsort();

    /**
     * @Author bxf
     * @Description 根据父id获取对象list
     * @Date 16:18 2019/7/12
     * @Param
     * @return
     **/
    public List<InfDictSort> selectByPid(String s);

    /**
     * @Author bxf
     * @Description 根据实体中的属性值进行查询，查询条件使用等号
     * @Date 15:19 2019/7/16
     * @Param
     * @return
     **/
    public List<InfDictSort> selectInfdictsort(InfDictSort InfDictSort);

    /**
     * 根据数据字典字典分类表名称查询树结构
     * @param name
     * @return
     */
    public List<InfDictSort> selectInfdictsortByInfdictsortName(String name);

    /**
     * @Author bxf
     * @Description 根据主键删除
     * @Date 11:38 2019/7/12
     * @Param
     * @return
     **/
    int deleteByPrimaryKeys(String ids);
    /**
     * @Author bxf
     * @Description 根据id分页获取数据
     * @Date 8:04 2019/7/18
     * @Param 
     * @return 
     **/
    PageInfo<InfDictSort> selectListByPid(String id ,BaseReq baseReq);
}